<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>enhance: Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.gif"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">enhance
   </div>
   <div id="projectbrief">Xilinx SDK Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('index.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">enhance Documentation</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>This header file contains identifiers and register-level driver functions (or macros), range macros, structure typedefs that can be used to access the Image Statistic core instance.The Image Enhancement core offers noise reduction and/or edge enhancement. For edge enhancement, optional anti-halo and anti-alias post-processing modules are available to reduce image artifacts that can appear from the high-pass filtering of the edge enhancement filters. The amount of noise reduction and edge enhancement is controlled through user parameters. There are two variations of the algorithm offered to choose between high performance and minimal resource usage. This core works on YCbCr 4:4:4 and 4:2:2 data. The core is capable of a maximum resolution of 7680 columns by 7680 rows with 8, 10, 12, or 16 bits per pixel and supports the bandwidth necessary for High-definition (1080p60) resolutions in all Xilinx FPGA device families. Higher resolutions can be supported in Xilinx high-performance device families.</p>
<p><b>Initialization &amp; Configuration</b></p>
<p>The device driver enables higher layer software (e.g., an application) to communicate to the Enhance core.</p>
<p><a class="el" href="group__enhance__v7__0.html#ga27bf67acc10edaf9c34060974b8a60a5" title="This function initializes a Enhance core. ">XEnhance_CfgInitialize()</a> API is used to initialize the Enhance core. The user needs to first call the <a class="el" href="group__enhance__v7__0.html#gacaa3d3a7a3382d04f16ccc1b397c086e" title="This function returns a reference to an XEnhance_Config structure based on the unique device id...">XEnhance_LookupConfig()</a> API which returns the Configuration structure pointer which is passed as a parameter to the <a class="el" href="group__enhance__v7__0.html#ga27bf67acc10edaf9c34060974b8a60a5" title="This function initializes a Enhance core. ">XEnhance_CfgInitialize()</a> API.</p>
<p><b> Interrupts </b></p>
<p>The driver provides an interrupt handler XEnhance_IntrHandler for handling the interrupt from the Enhance core. The users of this driver have to register this handler with the interrupt system and provide the callback functions by using XEnhance_SetCallBack API.</p>
<p><b> Virtual Memory </b></p>
<p>This driver supports Virtual Memory. The RTOS is responsible for calculating the correct device base address in Virtual Memory space.</p>
<p><b> Threads </b></p>
<p>This driver is not thread safe. Any needs for threads or thread mutual exclusion must be satisfied by the layer above this driver.</p>
<p><b> Asserts </b></p>
<p>Asserts are used within all Xilinx drivers to enforce constraints on argument values. Asserts can be turned off on a system-wide basis by defining, at compile time, the NDEBUG identifier. By default, asserts are turned on and it is recommended that users leave asserts on during development.</p>
<p><b> Building the driver </b></p>
<p>The <a class="el" href="struct_x_enhance.html" title="The Enhance driver instance data structure. ">XEnhance</a> driver is composed of several source files. This allows the user to build and link only those parts of the driver that are necessary.</p>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who Date     Changes
<hr/>

2.00a vc  12/14/10 Updated for ENHANCE V2.0
3.00a rc  09/11/11 Updated for ENHANCE V3.0
4.00a vyc 04/24/12 Updated for ENHANCE V4.00.a
                   Converted from xio.h to xil_io.h, translating
                   basic type, MB cache functions, exceptions and
                   assertion to xil_io format.
5.00a vyc 06/19/13 Updated for ENHANCE V8.0
                   New edge enhancement algorithm and registers
                   Noise reduction support added
6.0   adk 19/12/13 Updated as per the New Tcl API's
7.0   adk 02/19/14 Changed the filename from enhance.h to <a class="el" href="xenhance_8h.html">xenhance.h</a>.
                   Changes in <a class="el" href="xenhance_8h.html">xenhance.h</a>:
                   Removed the following macros
                   ENHANCE_Enable, ENHANCE_Disable, ENHANCE_RegUpdateEnable,
                   ENHANCE_RegUpdateDisable, ENHANCE_Reset,
                   ENHANCE_AutoSyncReset</pre><pre>                   Added the following function macros
                   XEnhance_Enable, XEnhance_Disable,
                   XEnhance_RegUpdateDisable, XEnhance_RegUpdateDisable
                   XEnhance_Reset, XEnhance_SyncReset, XEnhance_IntrEnable
                   XEnhance_IntrDisable, XEnhance_StatusGetPending
                   XEnhance_IntrGetPending, XEnhance_IntrClear</pre><pre>                   Added the following type definitions:
                   <a class="el" href="struct_x_enhance___config.html" title="This typedef contains configuration information for a Video Enhance core. ">XEnhance_Config</a> and <a class="el" href="struct_x_enhance.html" title="The Enhance driver instance data structure. ">XEnhance</a> structures.
                   XEnhance_CallBack and XEnhance_ErrorCallBack.</pre><pre>                   Changes in <a class="el" href="xenhance_8c.html">xenhance.c</a>:
                   Modified the following functions
                   XENHANCE_CfgInitialize -&gt; XEnhance_CfgInitialize
                   XENHANCE_Setup -&gt; XEnhance_Setup</pre><pre>                   Implemented the following functions:
                   XEnhance_CfgInitialize, XEnhance_Setup,
                   XEnhance_GetVersion, XEnhance_EnableDbgByPass,
                   XEnhance_IsDbgByPassEnabled, XEnhance_DisableDbgBypass
                   XEnhance_EnableDbgTestPattern,
                   XEnhance_IsDbgTestPatternEnabled
                   XEnhance_DisableDbgTestPattern
                   XEnhance_GetDbgFrameCount, XEnhance_GetDbgLineCount,
                   XEnhance_GetDbgPixelCount, XEnhance_SetActiveSize,
                   XEnhance_GetActiveSize, XEnhance_SetNoiseThreshold,
                   XEnhance_GetNoiseThreshold, XEnhance_SetEdgeStrength,
                   XEnhance_GetEdgeStrength, XEnhance_SetHaloSuppress
                   XEnhance_GetHaloSuppress.</pre><pre>                   Changes in <a class="el" href="xenhance__hw_8h.html">xenhance_hw.h</a>:
                   Added the register offsets and bit masks for the
                   registers and added backward compatibility for macros.</pre><pre>                   Changes in <a class="el" href="xenhance__intr_8c.html">xenhance_intr.c</a>:
                   Implemented the following functions
                   XEnhance_IntrHandler
                   XEnhance_SetCallBack</pre><pre>                   Changes in <a class="el" href="xenhance__sinit_8c.html">xenhance_sinit.c</a>:
                   Implemented the following function
                   XEnhance_LookupConfig</pre><pre>                   Changes in <a class="el" href="xenhance__selftest_8c.html">xenhance_selftest.c</a>:
                   Implemented the following function
                   XEnhance_SelfTest
7.1   ms  01/31/17 Updated the parameter naming from
                   XPAR_ENHANCE_NUM_INSTANCES to
                   XPAR_XENHANCE_NUM_INSTANCES to avoid compilation
                   failure for XPAR_ENHANCE_NUM_INSTANCES
                   as the tools are generating
                   XPAR_XENHANCE_NUM_INSTANCES in the generated
                   xenhance_g.c for fixing MISRA-C files. This is a
                   fix for CR-967548 based on the update in the tools.
      ms  03/17/17 Added readme.txt file in examples folder for doxygen
                   generation.
</pre> </div></div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Copyright &copy; 2015 Xilinx Inc. All rights reserved.</li>
  </ul>
</div>
</body>
</html>
